Optical network unit and optical line terminal

ABSTRACT

An optical network unit and an optical line terminal which efficiently control the data receiving and dechurning processes in a passive optical network. In a churning parameter memory subsystem, a first memory bank stores churning parameters that are currently used, while a second memory bank stores updates made to the churning parameters. Under the control of the churning parameter memory subsystem, those first and second memory banks change their roles with each other at a churning key updating time point. A data dechurning unit receives a data stream consisting of a plurality of frames and dechurns the information contained in the data stream, according to the stored churning parameters. When an update is done to the parameters in a certain frame, the data dechurning unit makes the update effective at the next frame, thus starting data dechurning operations from the next frame.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to an optical network unit and an opticalline terminal. More particularly, the present invention relates to anoptical network unit coupled to an optical access network system, whichreceives a data stream and dechurns information contained in thereceived data stream by using a churning key. The invention also relatesto an optical line terminal coupled to the optical access networksystem, which transmits a data stream containing information that ischurned with a churning key.

2. Description of the Related Art

Increasing numbers of telecommunication and multimedia services areprovided today to serve for the growing market needs, including video ondemand, cable TV, and high-speed access to computer networks. Thosehigh-bandwidth services, however, should not raise the cost tosubscribers. Here, optical access network systems are expected to playan essential role, connecting subscriber premises to the nearest localoffice exchange through fiber optic cables, rather than conventionalmetallic wires.

One of such systems is called the Passive Double Star (PDS), whichenables a plurality of subscribers to share a single optical fiber lineby using star couplers. Particularly in Europe, the Passive OpticalNetwork (PON) system, synonymous with PDS, is of great interest as anenabling technology for the Fiber To The Home (FTTH) services. In thescenarios toward FTTH, the access network has to provide guaranteedbandwidths and quality of services to meet the requirements forreal-time voice and video communication. To this end, the Full ServiceAccess Networks (FSAN) initiative has a central role in the developmentof ATM-PON systems based on the Asynchronous Transfer Mode (ATM)technologies. The FSAN is an organization formed by major telephonecompanies to promote worldwide optical network businesses.

FIG. 25 shows a typical structure of an ATM-PON system. Optical networkunits (ONUs) 101 a to 101 n are deployed in subscriber premises 100 a to100 n, while an optical line terminal (OLT) 201 is placed in a localoffice 200. Fiber optic cables and a star coupler 300 interconnect thoseONUs 101 a to 101 n and OLT 201 in a point-to-multipoint fashion. In thesubscriber premises 100 a to 100 n, telephone equipment and/or CATVequipment is coupled to the ONUs 101 a to 101 n. Connected to the OLT201 in the local office 200 is ATM and ISDN switching equipment 202.

In the downstream direction, the local office 200 broadcasts data (i.e.,downstream cells) toward the subscriber premises 100 a to 100 n over asingle optical fiber cable. The star coupler 300 splits the opticalsignal into a plurality of signals in a tree and branch form, so as todeliver the information to individual subscribers' ONUs. In the upstreamdirection, ATM cells are transmitted from the subscriber premises 100 ato 100 n toward the local office 200 over the same branch cables. Thestar coupler 300 consolidates them into a single optical signal fordelivery to the local office 200 over a single fiber cable.

As described above, the ATM-PON systems are ATM-based, optically-coupledaccess networks which provide point-to-multipoint (1:n) connectionsbetween a local office and a plurality of customers through the use ofstar couplers 300. The ITU-T Recommendation G.983.1 is one of therelevant international standard specifications for such PON-basedbroadband optical access systems. This G.983.1 includes description of adata encryption function termed “churning” to offer a protectioncapability for data confidentiality purposes. This function is mandatorybecause, in a PON system, the OLT always physically broadcastsinformation downstream, but only one ONU at a time can decode theinformation. More specifically, in the system of FIG. 25, the OLT 201first sends a certain downstream message to request each ONU (e.g., ONU101 a) to provide its churning key. In response to this request, the ONU101 a generates a churning key and sends it back to the OLT 201. Withthe received churning key, the OLT 201 encrypts, or churns, downstreamcells before sending them out to the ONU 101 a. This data churningoperation for downstream cells are performed on an individual virtualpath (VP) basis. The OLT 201 notifies the ONU 101 a of which virtualpath is churned or not, by sending a special downstream messageindicating the virtual path identifier (VPI) of a particular path thatis churned or not churned. This information is referred to herein as“churning parameters.”

In summary, all ONUs in an ATM-PON system have their respective churningkeys, and the churning of downstream information can be enabled ordisabled separately for each VPI. The OLT sends downstream messages tonotify each ONU of churning parameters before sending downstream cells.When data is received through a churned VP, the destination ONU decodesthe data with its own churning key.

One problem with the above-described conventional system is that theITU-T Recommendation G.983.1 lacks definitions for some specifics of thedata dechurning functions to be used in ATM-PON systems. Take churningparameters stored in the ONU 101 a for example. While those parametersare supplied from the OLT 201, the Recommendation G.983.1 does notstipulate when to activate the supplied parameters. This means that thedata dechurning operation in the ONU 101 a could be shifted in time,relative to the data churning operation in the OLT 201, and the timeshift may grow up to such a critical level where the ONU 101 a cannotdecode the churned data correctly.

Another problem with the conventional ONUs is that they have to reloadchurning parameters from the OLT when they are rebooted after a powershutdown. This parameter reloading is a time-consuming process, while itis mandatory because the shutdown of ONUs clears out their storedchurning parameters.

As seen from the above, conventional ATM-PON systems are still immaturein terms of data churning techniques. It is therefore necessary toestablish improved communication control algorithms in order to makeATM-PON systems truly practical.

SUMMARY OF THE INVENTION

Taking the above into consideration, an object of the present inventionis to provide an optical network unit which efficiently controls thedata receiving and dechurning processes.

To accomplish the above object, according to the present invention,there is provided an optical network unit coupled to an optical accessnetwork system, which receives a data stream and dechurns informationcontained in the received data stream by using a churning key. The twomajor elements of this optical network unit are: (a) a churningparameter memory subsystem, and (b) a data dechurning unit. The churningparameter memory subsystem stores churning parameters that indicatewhich logical connections are churned or not churned. This subsystemcomprises (a1) a first memory bank which is initially assigned an activerole to store the churning parameters that are currently used, and (a2)a second memory bank which is initially assigned a backup role to storenewly updated churning parameters. Here, the first memory bank andsecond memory bank are controlled so that the active and backup roleswill alternate with each other at every churning key updating time pointwhere an updated churning key becomes effective. The data dechurningunit receives a data stream consisting of a plurality of frames anddechurning the information contained in the data stream according to thechurning parameters stored in the first or second memory bank currentlyplaying the active role. Here, the churning parameters are activated atthe beginning of a frame subsequent to the churning key updating timepoint.

Further, it is another object of the present invention to provide anoptical line terminal with improved communication control algorithms toefficiently manage data transmission processes.

To accomplish the above object, according to the present invention,there is provided an optical line terminal coupled to an optical accessnetwork system, which transmits a data stream containing informationthat is churned by using a churning key. This optical line terminalcomprises the following elements: (a) a flag controller which controlsflags when sending the data stream to a receiving end; and (b) achurning parameter transmission controller which controls thetransmission of churning parameters to the receiving end, based on thestatus of the flags. Here, the churning parameters indicate whichlogical connections are churned or not churned.

The above and other objects, features and advantages of the presentinvention will become apparent from the following description when takenin conjunction with the accompanying drawings which illustrate preferredembodiments of the present invention by way of example.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a conceptual view of an optical network unit according to thepresent invention;

FIG. 2 is a diagram which shows a data stream structure and a format ofchurned-VP messages:

FIG. 3 is a message flow diagram which shows how to update a churningkey;

FIG. 4 is a block diagram of an ONU employing a dual RAM bank structure;

FIG. 5 is flowchart which shows a parameter copying operation;

FIG. 6 is a timing diagram of the parameter copying operation;

FIG. 7 is a timing diagram which shows the operation when a churned-VPmessage is received during a parameter copying operation;

FIG. 8 is a flowchart which shows a process of sending back anacknowledge message;

FIG. 9 is a flowchart which shows a process of copying updatedchurned-VP parameters from SRAM to non-volatile memory;

FIG. 10 is a flowchart which shows how the churning parameter memorysubsystem operates when the power is restored;

FIG. 11 is a diagram which shows a process to disable data dechurningtasks;

FIG. 12 is a diagram which shows a variant of the proposed ONU;

FIG. 13 is a block diagram which shows a mechanism to realize a datadechurning operation in a subsequent frame;

FIG. 14 is a timing diagram which shows how data dechurning is performedin a subsequent frame;

FIG. 15 is a conceptual view of an optical line terminal according tothe present invention;

FIG. 16 is a flowchart which shows an initial parameter delivery processusing an initial parameter delivered flag;

FIG. 17 is a flowchart which shows an initial parameter delivery processusing an initial parameter sending flag;

FIG. 18 is a flowchart which shows an initial parameter delivery processusing a parameter update failure flag;

FIG. 19 is a flowchart which shows an initial parameter delivery processusing a parameter update unfinished flag;

FIGS. 20 and 21 show a flowchart of a process executed at the beginningof a parameter updating process;

FIG. 22 is a flowchart which shows a process of receiving an acknowledgemessage;

FIG. 23 is a flowchart which shows a process executed at the end of aparameter updating process;

FIG. 24 is a timing diagram which explains how the churned-VP parametersare updated; and

FIG. 25 is a diagram which shows the structure of a conventional ATM-PONsystem.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

Preferred embodiments of the present invention will be described belowwith reference to the accompanying drawings.

FIG. 1 is a conceptual view of an optical network unit (ONU) 10according to the present invention. This optical network unit 10,coupled to an optical access network system (e.g., ATM-PON), receives adata stream from an optical line terminal (OLT, not shown) in thenearest local office. Here, the term “data stream” refers to consecutivesmall data packets, or cells, carried over the network. The ONU 10decodes the churned part of the received data stream with a churning keywhich was produced by the ONU 10 itself.

The ONU 10 comprises a churning parameter memory subsystem 11 having twostorage areas to store churning parameters; they are a first memory bankM11 a and a second memory bank M11 b. The churning parameters are suchsetup information that shows whether each logical connection applies achurning process to send data. More specifically, they are essentially acollection of simple flags each corresponding to an individual virtualpath identifier (VPI) to indicate which virtual path (VP) is churned ornot churned.

The two memory banks M11 a and M11 b in the churning parameter memorysubsystem 11 change their roles alternately. In FIG. 1, the first memoryM11 a now plays an active role, storing the current churning parameterswhich are read out for use in data dechurning processes. On the otherhand., the second memory bank M11 b is assigned a backup role to storenewly updated churning parameters.

The churning parameter memory subsystem 11 controls data writingoperations to the first memory M11 a and second memory bank M11 b. Ateach time point the churning key is updated (i.e., when the current keyis replaced with a new churning key), the churning parameter memorysubsystem 11 alternates the roles of the two memory banks M11 a and M11b. The details of this operation will be described later.

The ONU 10 further comprises a data dechurning unit 12, which receives adata stream consisting of a plurality of frames and dechurns itaccording to the churning parameters stored in the first memory M11 a.When a new churning parameter is received in a certain frame, the datadechurning unit 12 activates the received new parameter from asubsequent frame after a churning key updating time point is reached.The data dechurning unit 12 uses this activated new parameter to dechurnthe relevant incoming cells in that frame and later, if the parameterindicates that they are churned.

Suppose, for example, that a message in a certain frame contains achurning parameter indicating that a virtual path with a VPI value of“001” (in hexadecimal notation) is churned, and also that a cell C1 hasa VPI value of “001” in its overhead section. When the churningparameter is received, the ONU 10 first saves it to the second memorybank M11 b, as shown in FIG. 1. This parameter, however, will beactivated only after the following conditions are met: (1) a churningkey update message M1 is received, and after that, (2) a period of(48*Tframe) is elapsed, where Tframe denotes the time length of oneframe with which the ONU 10 should be synchronized. In this way, thepresent invention provides the activation timing of newly receivedchurning parameters, which prevents the received data stream from beingdechurned in an unintended way. This issue will be discussed in moredetail later.

The ONU 10 further comprises an external storage controller 13 and adechurning mask unit 14. Churning parameters in the churning parametermemory subsystem 11 are saved into a non-volatile memory 13 a for databackup purposes, under the control the external storage controller 13.The dechurning mask unit 14 disables the function of the data dechurningunit 12 during a period from the ONU's restarting time point to the nextchurning key updating time point. Here, the term “restarting time point”means such a time point when the ONU 10 re-enters an operating statefrom another state, after having left its previous operating state. Thedetails of the external storage controller 13 and dechurning mask unit14 will be provided in a later part of this description.

With the foregoing concept of the invention in mind, the structure andoperation of the ONU 10 of FIG. 1 will now be provided in more detailbelow. In the following sections, the term “churned-VP parameters” maybe used as a synonym of churning parameters, where appropriate.

FIG. 2 shows the structure of a data stream and the format of churned-VPmessages. Physical Layer Operation and Management (PLOAM) frames are aclass of transmission frames constituting a data stream sent from theOLT. Each PLOAM frame begins with a PLOAM cell carrying controlinformation from OLT to ONUs, which is followed by twenty-seven usercells C1 to C27 containing transmission data. Tframe denotes the time oftwo PLOAM frame intervals in the case that the transmission rate is 150Mbps. Both PLOAM and user cells are ATM cells each consisting of 53bytes.

Churned-VP message is one of the control messages delivered to ONUs inthe form of PLOAM cells. This message uses the fortieth throughfifty-first bytes (bytes #40 to #51) of a PLOAM cell to convey a singlechurning parameter. Byte #40 holds an identifier called “PON-ID,” whichindicates the destination ONU of this message. Byte #41 gives a messageidentification code “00001111” (left-most bit is MSB; right-most bit isLSB) showing that this message is a churned-VP message. Bytes #43 and#44 carry a 12-bit virtual path identifier VPI(11:0) indicating whichvirtual path this message relates to. Here, the notation (M:N)represents the N-th to M-th bits of a binary value, whose length is thus(M−N+1) bits where M>N. Since this 12-bit VIP value does not fit in asingle byte, VPI(11:0) is divided into two parts: the upper 8 bitsVPI(11:4) (“abcdefgh” in byte #43) and the lower four bits VPI(3:0)(“ijkl” in byte #44). Such a 12-bit VPI field allows the ATM-PON systemto support up to 4096 virtual paths. Although not explicitly shown inFIG. 2, every user cell contains like VPI information to indicate onwhich virtual path it has been transported.

Byte #42 shows whether the virtual path specified in bytes #43 and #44is churned or not churned. The table in FIG. 2 expresses this byte #42as “xxxxxxxa,” where “x” denotes “undefined” and “a” is called the “actbit.” If a=1, this means that transmission data on the virtual path hasbeen churned by the OLT, and thus the receiving ONU should dechurn it.If a=0, the data is not churned. The Recommendation G.983.1 gives nospecific meanings to the remaining bytes #45 to #51 yet.

Referring next to FIG. 3, the following section will describe how toupdate a churning key.

In the ATM-PON system including the proposed ONU 10, the churning key isupdated as requested by a maintenance station which is located at theOLT's site. FIG. 3 is a message flow diagram which shows how thechurning key is updated.

-   -   (S1) The OLT transmits a churning key update message M1 to the        ONU 10 to request a new churning key value.    -   (S2) The ONU 10 produces a new churning key and sends it back to        the OLT in the form of an acknowledge message m1.    -   (S3) When a period of (16*Tframe) has elapsed after the first        churning key update message M1, the OLT transmits a second        churning key update message M2 to the ONU 10.    -   (S4) As in step S2, the ONU 10 sends again the updated churning        key to the OLT in a second acknowledge message m2.    -   (S5) When a period of (16*Tframe) has elapsed after the second        churning key update message M2, the OLT transmits a third        churning key update message M3 to the ONU 10.    -   (S6) As in steps S2 and S4, the ONU 10 sends back the updated        churning key to the OLT in a third acknowledge message m3.    -   (S7) Finally, the new churning key becomes active when the        interval of (48*Tframe) has elapsed after the OLT transmitted        the first churning key update message M1. This time point is        referred to herein as the “churning key updating time point.”        The OLT then starts to churn the outgoing data to the ONU 10        with this new churning key, while the ONU 10 uses the same key        to dechurn the incoming data. The OLT and ONU 10 conduct the        above synchronously, counting each (16* Tframe) interval at both        ends.

Note here that the above sequence implies that the OLT and ONU 10perform data churning and dechurning with the old churning key until thetotal period of (48* Tframe) is elapsed after the first churning keyupdate message M1 is sent from the OLT to the ONU 10.

Referring now to FIG. 4, the next section will describe the dual RAMbank structure of the proposed churning parameter memory subsystem 11,as well as illustrate its data copying operation. As explained in FIG.3, the churning key is refreshed at the churning key updating timepoint. This naturally means that the ONU 10 has to update its churned-VPparameters accordingly at the same time point, and therefore, the ONU 10should make all the newly received parameters ready in its local RAM,before the next churning key updating time point is reached.

FIG. 4 is a block diagram of the ONU 10 employing a dual RAM bankstructure. This ONU 10 shown in FIG. 4 differs from the one explained inFIG. 13 in that it further comprises another RAM M11 b, a switchingcontroller 11-3, and a replication controller 11-4. The switchingcontroller 11-3 and replication controller 11-4 are integral part of thechurning parameter memory subsystem 11 shown in FIG. 1.

Initially, the RAM M11 a is chosen as the current active storage whichprovides the ONU 10 with churned-VP parameters, being addressed byVPI(11:4). The other RAM M11 b works as the backup storage which is usedto hold new churned-VP parameters until the next churning key updatingtime point. The switching controller 11-3 captures the churning keyupdating time point by receiving three churning key update messages M1to M3 and ensuring that a period of (48*Tframe) has elapsed after thereception of the first churning key update message M1. When the churningkey updating time point is reached, the switching controller 11-3switches between the RAM M11 a and RAM M11 b, thereby making the RAM M11b active and the other RAM M11 a backup. This switching operation,however, causes the backup RAM data to retrograde because the RAM M11 ahas not been updated since the previous churning key updating timepoint. To solve the problem, the replication controller 11-4 copies datafrom the newly activated RAM M11 b to the RAM M11 a that is now playingthe backup role.

The RAMs M11 a and M11 b are each equipped with two ports which allowsimultaneous data read operations. For example, the active RAM canprovide churned-VP parameters to the data dechurning unit 12, whilesending data to the backup RAM for copying purposes. FIG. 5 is aflowchart showing this parameter copying operation. It is assumed herethat the RAM M11 a is initially assigned the active role, and the otherRAM M11 b the backup role. Their data contents are shown in FIG. 5,where the values on the left-hand side are VPIs and those on theright-hand side are their respective act bit values. For instance, theexpression “000”=1 denotes that the RAM contains a churned-VP parameterthat indicates the virtual path with a VPI value of “000” is churned(i.e., act bit a=1). The copying operation proceeds as follows.

-   -   (S10) At each churning key updating time point, the switching        controller 11-3 switches between the two RAM banks, i.e., RAM        M11 a and RAM M11 b.    -   (S11) The switching controller 11-3 informs the replication        controller 11-4 of the churning key updating time point. In        response to this, the replication controller 11-4 reads out one        data entry from the active RAM M11 b, incrementing the read        address counter.    -   (S12) The replication controller 11-4 writes the read data entry        to the backup RAM M11 a, incrementing the write address counter.    -   (S13) The replication controller 11-4 tests whether the write        address counter has reached its maximum address value. If it has        not yet reached the maximum, the process returns to step S11 to        repeat steps S11 and S12 for other data entries. If it is the        maximum, the process exits from the copying routine.

FIG. 6 is a timing diagram which shows the sequence of the parametercopying operation in more detail. KEYTIM is a timing pulse signal thatindicates churning key updating time points. RAM-STATE shows which ofthe two RAM banks is working as the active RAM currently. In the contextof FIG. 6, the RAM(A) is activated at the shown churning key updatingtime point, while the RAM(B) was working as the active RAM before thattime point. Note that RAM(A) and RAM(B) in FIG. 6 refer to the RAMs M11a and M11 b in FIG. 4, respectively. COPYMODE, when it is high,indicates that the churning parameter memory subsystem 11 is copying itsdata contents from active RAM to backup RAM. COPYCTR is the output of acounter which increments the RAM address from zero to 256 while theCOPYMODE signal is at a high level. This counter is actually a modulo259 counter since the RAM write enable signal XWE (described more in alater part) has a phase lag as shown in FIG. 6.

RAMA-RAD is the read address of RAM(A), which has just been designatedas the active RAM. This RAMA-RAD is produced by shifting COPYCTR by oneunit interval of copying cycle, which is referred to hereafter as the“cycle time.” RAMA-RDT shows a series of data words which are read outof the RAM(A) according to the sequential address signal RAMA-RAD. Asseen from FIG. 6, the read data entries include: “A” for address “0,”“B” for address “1,” and so on. Note that RAMA-RDT follows RAMA-RAD witha delay of one cycle time.

RAMB-WDT, on the other hand, shows a series of data words to be writteninto RAM(B), which has just been switched to the backup RAM. ThisRAMB-WDT is produced by shifting RAMA-RDT by one cycle time. RAMB-WAD isthe write address given to RAM(B) when writing RAMB-WDT to it. That is,the data “A” read out of RAM(A) is written to address “0” of RAM(B),data “B” to address “1” and so on. XWE is an active-low write enablesignal which initiates a write operation to RAM(B), which has just beendesignated as the backup RAM, so as to copy the contents of RAM(A) toRAM(B).

In the way described above, the ONU of the present invention copies thelatest churned-VP parameters from the active RAM to the backup RAM, eachtime the two RAM banks change their roles. This configuration permitsthe backup RAM to keep track of the latest churned-VP information, sothat the memory content will be always consistent with what the OLTintends.

The next section will now describe how the proposed ONU will operatewhen it has received a new churned-VP parameter while a copying activityis in progress.

Since the ONU counts the number of frames by interpreting every PLOAMcycle as one frame unit, the churning key updating time point alwaysoccurs right at the time point of PLOAM cell reception. The PLOAM cellreceived at this churning key updating time point may contain churned-VPinformation. The ONU, however, cannot write the information to itsbackup RAM immediately, because parameter copying operations havealready started and the backup RAM is receiving data from the activeRAM. To properly update the backup RAM with the newly given information,the proposed ONU uses a flag indicating that a parameter copyingoperation is in progress. If a churned-VP message is received while thisflag is set, the ONU waits until the flag is cleared at the end of theparameter copying operation, and then writes the received churned-VPparameter to the backup RAM. Actually, the aforementioned COPYMODEsignal serves as a flag for this purpose.

FIG. 7 is a timing diagram which shows how the proposed ONU will operatewhen it receive a churned-VP message during a parameter copyingoperation. COPYMODE is set to “H” (high level) during a parametercopying operation. CHURNED-TR is a trigger signal that becomes “H” whena churned-VP message is received. CHURNED-LT is then produced bylatching the CHURNED-TR signal when it becomes “H” while COPYMODE is“H.” This CHURNED-LT is reset to “L” (low level) when the parametercopying operation is finished. At the falling edge of CHURNED-LT,CVP-CTR is loaded to provide a backup RAM write address.

As described above, the proposed ONU is configured to temporarily holdnew churned-VP information received during a parameter copyingoperation, and not to write it to the backup RAM until that operation isfinished. That is, the proposed ONU performs a parameter copyingoperation first and then overwrites the copied data with newly receivedchurned-VP parameters. This prioritization ensures that the backup RAMwill be properly updated with new information.

The next section will explain how the proposed ONU returns anacknowledge message in response to a churned-VP message.

The ITU-T Recommendation G.983.1 requires ONUs to send back anacknowledge message to notify the OLT of the correct reception of achurned-VP message. G.983.1, however, does not provide specificconditions for returning acknowledgment. According to the presentinvention, the ONU 10 returns an acknowledge message to the OLT, onlywhen the churning parameter memory subsystem 11 can successfully verifythe churned-VP parameters that have been written into the RAM. Thisverification is done by re-reading the data and comparing it with theoriginal data that has been written.

FIG. 8 is a flowchart which shows a process of sending back anacknowledge message. It is assumed here that RAM(A) is serving as theactive RAM, and RAM(B) as the backup RAM, and that the data has alreadybeen copied from RAM(A) to RAM(B). When a churned-VP message is receivedin this context, the ONU writes the information to RAM(B) and thensending back an acknowledge message after reading out the informationagain from RAM(B) for verification. This process comprises the followingsteps.

-   -   (S20) The ONU receives a churned-VP message.    -   (S21) The ONU reads data out of an address of RAM(B) that is        specified by the received churned-VP message.

That is, VPI(11:4) is supplied to RAM(B) as its read address, therebyreading out a relevant data word. By extracting one bit specified byVPI(3:0), the act bit information is obtained from the data word.

-   -   (S22) The ONU performs a parity check for the data word read out        of RAM(B). Here, an error check and correction mechanism is        employed to ensure more reliable data transport between LSI        devices, for example. This is accomplished by adding an error        correction code to each data to be transmitted. If no errors are        detected, the process advances to step S23. If an unrecoverable        parity error is detected, the process branches to step S29.    -   (S23) The ONU compares the read data of RAM(B) with the act bit        information found in the received churned-VP message. If they do        not agree, the process advances to step S24. If they have the        same value, the process skips to step S25.    -   (S24) The ONU writes the updated act bit information to the same        address as it made access at step S21.    -   (S25) The ONU re-reads the data from the same address.    -   (S26) The ONU performs a parity check for the data word read out        of RAM(B). If no errors are found, the process goes to step S27.        If an unrecoverable parity error is detected, the process        branches to step S29.    -   (S27) The ONU compares again the data read out of RAM(B) with        the act bit information found in the received churned-VP        message. If they agree with each other, the process advances to        step S28. If they do not agree, the process proceeds to step        S29.    -   (S28) Now that the information has successfully been written        into RAM(B), the ONU sends back an acknowledge message to notify        the OLT of the correct reception of the churned-VP message.    -   (S29) The detected error is reported to a controller that        controls the entire system of the ONU 10.

In this way, the churning parameter memory subsystem 11 of the presentinvention performs a write verification of each churned-VP parameterwhen it is received from the OLT and written into RAM. The ONU 10returns an acknowledge message to the OLT, only when the written data issuccessfully verified. This feature of the invention prevents the storedchurned-VP parameters from becoming inconsistent with that in the OLT.

Referring back to FIG. 1, the external storage controller 13 will bedescribed below. The proposed ONU 10 is equipped with a backup powersupply which will work in case of a main power failure, and with thisbackup power supply, the external storage controller 13 saves thecurrent churned-VP parameters into a non-volatile memory 13 a such asflash memory devices. This feature permits the ONU to recover by itselfwithout requesting the OLT to resend churned-VP parameters afterrebooting, since the necessary information is safely stored in thenon-volatile memory 13 a.

Once the current churned-VP parameters are saved, the external storagecontroller 13 selectively updates the entries of the non-volatile memory13 a with newly arrived churned-VP parameters, if it is different fromthe currently stored information. More specifically, when some act bitinformation is written at step S24 in the flowchart of FIG. 8, thechurning parameter memory subsystem 11 sets its corresponding updateflag indicating that the act bit information has been updated. Referringto this update flag as an enabling condition, the external storagecontroller 13 reads out data from its relevant address of the backup RAMand saves it the non-volatile memory 13 a. In this way, the non-volatilememory 13 a is updated efficiently by writing only the changed entries.

Generally, most memory devices for use as the non-volatile memory 13 aare limited in terms of the number of programming cycles, whichnecessitates further efforts to reduce the frequency of data writeoperations that the external storage controller 13 may execute. To thisend, the external storage controller 13 may be configured to store thechurned-VP parameters to, for example, an SRAM (Static RAM) device whenthe system is rebooted, and transfer the data back to the non-volatilememory 13 a when the ONU 10 is shut down. This configuration willeffectively reduce the access to the non-volatile memory 13 a. After theinitial transfer of churned-VP parameters from the non-volatile memory13 a to the SRAM (not shown), the external storage controller 13 onlyhas to selectively update the SRAM contents with such churned-VPparameters whose corresponding update flag is set. When the ONU 10 isshut down, the external storage controller 13 may transport only thechanged churned-VP parameters to the non-volatile memory 13 a, ratherthan transferring all the SRAM contents.

FIG. 9 is a flowchart which shows a process of copying updatedchurned-VP parameters from the SRAM to the non-volatile memory 13 e.This process comprises the following steps.

-   -   (S30) The churning parameter memory subsystem 11 sets update        flags corresponding to specific churned-VP parameters when they        are changed.    -   (S31) According to the update flags being set, the external        storage controller 13 reads out their relevant churned-VP        parameters from the backup RAM.    -   (S32) The external storage controller 13 writes the changed        churned-VP parameters into the SRAM.    -   (S33) When the ONU 10 is shut down, the external storage        controller 13 transfers the SRAM contents to the non-volatile        memory 13 a.

As an alternative action at step S33, the external storage controller 13may transport only the changed churned-VP parameters to the non-volatilememory 13 a, rather than transferring all the SRAM contents, when theONU 10 is shut down. This configuration will reduce the access to thenon-volatile memory 13 e more effectively.

When the main power is restored, the ONU 10 will operate as follows. TheITU-T Recommendation G.983.1 defines ten states of the ONUs, which arereferred to as O1 to O10, and more particularly, it requires that theONUs be in state O1 or O9 after the main power is restored. Here, stateO1 is the initial state of an ONU after power-up, while state O9 denotesthe emergency stop state. Once the ONU enters the Emergency stop state,it cannot communicate with the OLT, being disconnected from the network.

According to the present invention, the proposed ONU 10 has anotherstate with a symbol “O0,” which represents the state just afterpower-up. This newly defined state O0 means an initial preparation statein which the ONU determines whether to go to O1 or O9. The churningparameter memory subsystem 11 of the present invention is designed toaccept churned-VP parameters from the non-volatile memory 13 a, onlywhen the ONU is in this state O0 after power-up. Even if some externalevent changed the RAM while the ONU 10 was in the operating state (i.e.,state O8), the above mechanism would not activate that information. Thusthe churned-VP parameters in the ONU 10 will be kept consistent withthose in the OLT.

The churning parameter memory subsystem 11, on the other hand, candetermine its initial data source in state O0, choosing either of thechurned-VP parameters read out of the non-volatile memory 13 a or thosethat newly received from the OLT. In other words, the ONU is offered achoice of whether to enable or disable the churned-VP parameters thatwas reloaded from the non-volatile memory 13 a during the O0 state. Thisis because it is sometimes preferable for the ONU 10 to use churned-VPparameters resent from the OLT. To support those two options in stateO0, the proposed ONU configures the churning parameter memory subsystem11 in such a way that one of its two RAM banks keeps the values loadedfrom the non-volatile memory 13 a, while the other RAM bank isinitialized so that all the entries will be set to the “Not churned”state. The ONU 10 provides a flag to indicate which RAM bank should beactivated. This flag, referred to herein as the “enable external memoryflag,” will be set when the ONU 10 intends to use the values loaded fromthe non-volatile memory 13 a. In this case, the values loaded to the RAMare subjected to later updates, being overwritten with incomingchurned-VP parameters. When the enable external memory flag is cleared,new churned-VP parameters sent from the OLT will be written into the RAMthat has been initialized to the “Not churned” state. In both cases, theaforementioned parameter copying operation begins at a churning keyupdating time point.

FIG. 10 is a flowchart which shows how the churning parameter memorysubsystem 11 operates when the main power is restored. It is assumed nowthat all the RAM(A) entries have been initialized to the “Not churned”state, and also that RAM(B) has been loaded with the churned-VPparameters copied from the non-volatile memory 13 a. It is furtherassumed that user cells are not churned during a period “B.” In such asituation, the churning parameter memory subsystem 11 operates accordingto the following steps.

-   -   (S40) It is tested whether the enable external memory flag is        set. If the flag is set, the process advances to step S41. If        not, the process branches to step S45.    -   (S41) The churning parameter memory subsystem 11 designates        RAM(A) as the active RAM, and RAM(B) as the backup RAM.    -   (S42) Each time a churned-VP message is received, a relevant        entry in RAM(B) is overwritten with the received parameter.    -   (S43) At a churning key updating time point, the churning        parameter memory subsystem 11 designates RAM(A) as the backup        RAM, and RAM(B) as the active RAM.    -   (S44) The contents of RAM(B) is copied to RAM(A).    -   (S45) If a churned-VP message is received, the process advances        to step S46. If not, the process returns to step S40.    -   (S46) The churning parameter memory subsystem 11 designates        RAM(A) as the backup RAM, and RAM(B) as the active RAM.    -   (S47) Each time a churned-VP message arrives, the relevant entry        in RAM(A) is overwritten with the received parameter.    -   (S48) At a churning key updating time point, the churning        parameter memory subsystem 11 designates RAM(A) as the active        RAM, and RAM(B) as the backup RAM.    -   (S49) The contents of RAM(A) is copied to RAM(B).

Referring now to FIG. 11, the dechurning mask unit 14 operates asfollows. The ONU 10 is designed to begin dechurning of incoming usercells when it enters the operating state O8. However, in the case thatthe ONU 10 comes back to O8 after a transition from O8 to any otherstate, if the churning key of the ONU 10 happened to be different fromwhat the OLT thinks it should be, the ONU 10 could erroneously apply adechurning operation to user cells. It is therefore necessary for theONU 10 to mask, or disable, the dechurning function during the abovetransition period, and FIG. 11 shows how to perform this. The processproceeds according to the following steps.

-   -   (S50) The ONU 10 changes from the operating state 08 to another        state.    -   (S51) In response to the state transition, the dechurning mask        unit 14 sets a masking flag.    -   (S52) The dechurning mask unit 14 then disables the dechurning        function of the ONU 10.    -   (S53) The ONU 10 returns to the operating state O8.    -   (S54) The dechurning mask unit 14 waits for the first churning        key updating time point after the ONU 10 has entering to O8.        When that time point is reached, it clears the masking flag to        enable again the dechurning function.    -   (S55) The ONU 10 begins dechurning incoming user cells on the        basis of the new churning key and new churned-VP parameters.

In the way described above, the dechurning mask unit 14 is designed todisable the data dechurning function during the period between atransition to O8 and its subsequent churning key updating time point,outputting given user cells just as they are. This prevents the ONU fromerroneously dechurning user cells, since the data dechurning functionwill not become effective until the OLT and ONU 10 can ensure their useof the same churning key.

While the above sections have described a preferred embodiment of thepresent invention, it is not intended to limit the invention to thatspecific structure. FIG. 12 shows an optical network unit 10 a, analternative implementation of the ONU 10. While this ONU 10 a of FIG. 12has an external storage controller 13, its specifics will not beexplained here again since they can be found in an earlier section.

According to this alternative implementation, a churning parametermemory subsystem 11 a has only a single storage area for storingchurned-VP parameters. A data dechurning unit 12 a receives a datastream consisting of a plurality of frames and dechurns it according tothe churned-VP parameters stored in the churning parameter memorysubsystem 11 a. When a new churned-VP message is received in a certainframe, the data dechurning unit 12 a will activate the receivedparameter at the beginning of the next frame. Then the data dechurningunit 12 a uses the churned-VP parameter to dechurn the incoming datastreams in that frame and later.

It is assumed, for example, that there is a churned-VP message whichcontains a churning parameter indicating that a virtual path withVPI=“001” (in hexadecimal notation) is churned, among other virtualpaths within each frame of the data stream. It is also assumed that theuser cell C1 in each frame has a VPI with a value of “001” in itsoverhead section. When the above churning parameter arrives at the ONU10 a in PLOAM frame #1, the data dechurning unit 12 a activates thechurned-VP parameter in the subsequent PLOAM frame #2 after reading outthe churned-VP parameter from the churning parameter memory subsystem 11a. That is, the dechurning of the user cell C1 begins in PLOAM frame #2.

As seen from the above, the ONU 10 a differs from the ONU 10 in that itneeds only one storage space, and in that it activates a new churned-VPparameter independently of the update timing of churning keys. Thissingle memory structure permits the ONU 10 a to decode user cells in amore efficient manner.

FIG. 13 is a block diagram which shows a mechanism to realize a datadechurning operation in a subsequent frame. This mechanism comprises aRAM M11, a churned-VP message flag setting unit 11-1, and a churned-VPparameter writing unit 11-2, which are components of the churningparameter memory subsystem 11 a in FIG. 12. The data dechurning unit 12a in FIG. 12 is shown as a data dechurning unit 12 in FIG. 13.

When a churned-VP message is found in a received PLOAM cell, thechurned-VP message flag setting unit 11-1 sets a relevant churned-VPmessage flag. The churned-VP parameter writing unit 11-2 writes thereceived churned-VP parameter to the RAM M11, controlling its writeenable input according to the churned-VP message flag. The RAM M11 isorganized as a 16-bit×256-word memory. When a churned-VP messagecontaining a specific VPI and its act bit status is received, the RAMM11 is addressed by VPI(11:4) out of the received 12-bit VPI(11:0), andthe act bit status is written into one of the sixteen data bits asspecified by VPI(3:0). In this way, the RAM M11 provides storage spacefor 4096 instances of the act bit information.

The data dechurning unit 12 receives an incoming data stream, extractinga VPI(11:0) value from each user cell in the stream. The data dechurningunit 12 supplies the RAM M11 with VPI(11:4) out of the extractedVPI(11:0) as its read address, thereby reading out a data wordcontaining sixteen act bits. By choosing one bit as specified byVPI(3:0), the act bit information relevant to the user cell is obtained.If a=1 (i.e., the act bit is “1”), the data dechurning unit 12 dechurnsthe cell by using an appropriate churning key. If a=0, the datadechurning unit 12 outputs the cell as it is, without dechurning itsdata part.

FIG. 14 is a timing diagram which shows how the incoming information isdechurned, assuming that a PLOAM cell #1 in the data stream contains achurned-VP message that says the virtual path with a VPI(11:0) value of“001” (in hexadecimal notation) is churned (i.e., its act bit is “1”).When this PLOAM cell #1 is received, the churned-VP message flag settingunit 11-1 recognizes it as a churned-VP message by detecting its messageidentification in byte #41. Upon recognition, it outputs a relevantchurned-VP message flag as shown in FIG. 14. On the other hand, thechurned-VP parameter writing unit 11-2 internally holds the receivedVPI(11:0)=“001” and act bit information (a=1) until it detects the firstuser cell C1 in the next frame. Referring to FIG. 14, PLOAM pulsesindicate the position of each PLOAM cell, while cell framing pulsesdefine the beginning of individual cells. The write enable signal forthe RAM M11 is created through a logical AND operation of the churned-VPmessage flag and PLOAM pulses. Using this write enable signal, togetherwith the cell framing pulses as the write timing signal, the churned-VPparameter writing unit 11-2 performs a RAM write operation. During thisoperation, VPI(11:4)=“00” is supplied to the RAM M11 as its writeaddress, and VPI(3:0)=“1” specifies the bit position of the write data,so that the act bit information will be written to the specified bit inthe RAM M11.

As a result of the above, the churned-VP parameter given by the PLOAMcell #1 is written into the RAM M11 at the beginning of the PLOAM cell#2 in the next frame. After that (from the time point “A” in FIG. 14, atwhich the first user cell C1 begins in the next frame), the datadechurning unit 12 reads out this information from the RAM M11 each timea cell with a VPI(11:0) value of “001” is received, and dechurns thecell accordingly. In the present example, the data dechurning unit 12dechurns the cell C1 just after the time point “A,” since the cell C1has a VPI(11:0) value of “001.”

Suppose, on the other hand, that the next PLOAM cell #2 in the datastream contains a churned-VP message that says the virtual path with aVPI(11:0) value of “010” is not churned (i.e. a=0). In this case, everyincoming cell having this VPI value “010” will be handled as it is,without being dechurned, according to the timing diagram of FIG. 14.

As described above, the proposed ONU 10 a is designed to receive a newchurned-VP parameter from the OLT in a PLOAM cell and activates it whenthe next PLOAM cell is received in the subsequent PLOAM frame. That is,the ONU 10 a can start to dechurn the incoming user cells immediatelyfrom the next frame. This configuration reduces the latency of datareceived from the OLT, besides preventing inconsistencies from beingintroduced between the data churning process at the OLT and the datadechurning process at the ONU 10 a.

Referring next to FIGS. 15 to 24, an optical line terminal (OLT)according to the present invention will now be described below.

FIG. 15 is a conceptual view of an optical line terminal 20 according tothe present invention. Being coupled to an optical access network system(e.g., ATM-PON), this OLT 20 transmits a data stream to a plurality ofoptical network units 30 a to 30 n (or ONUs 30, collectively). Here, thedata stream contains information encrypted by using a churning key.

The OLT 20 comprises a flag controller 21, a churning parametertransmission controller 22, a churning parameter overwriting unit 23,and a churning parameter updating unit 24. When sending a data stream,the flag controller 21 sets and clears various flag, according to thestatus of the ONUs 30. Based on the flags, the churning parametertransmission controller 22 controls transmission of churning parameters(i.e., churned-VP parameters) which indicate which logical connectionsare churned or not. The churning parameter overwriting unit 23 resendschurned-VP parameters to ONUs 30, allowing them to overwrite their owninformation bases. The churning parameter updating unit 24 controls theupdate time points of churned-VP parameters so that they will besynchronized with the end of each churning key updating operation.

The flags mentioned above include an “initial parameter delivered flag,”which is controlled by the flag controller 21 as follows. The OLT 20sends churned-VP parameters to the ONU 30 a when the ONU 30 a haschanged from a standby state to the operating state 08. Such achurned-VP transmission triggered by a state transition from idle to O8is called the “initial parameter delivery process.” For use in thisinitial parameter delivery process, the flag controller 21 provides an“initial parameter delivered flag” for each individual ONU. Morespecifically, the flag controller 21 clears the flag to “0” when the ONU30 is in the standby state, while it sets the flag to “1” when theinitial parameter delivery process is finished. When the ONU 30 entersto state O8, the churning parameter transmission controller 22 checksthe initial parameter delivered flag, and if the flag is still clearedat that time, it executes an initial parameter delivery process.

FIG. 16 is a flowchart showing the initial parameter delivery processusing the initial parameter delivered flag. As a presupposition, notethat every ONU has its own identifier n; the state of individual ONUsand their respective flags (described later) are referred to by theiridentifiers n.

-   -   (S60) The flag controller 21 clears the initial parameter        delivered flag(n) to “0” when each ONU(n) is in the standby        state.    -   (S61) Suppose that a specific ONU(n) changes from the standby        state to state O8.    -   (S62) Upon detection of the transition of the ONU(n) to state        O8, the flag controller 21 checks whether its corresponding        initial parameter delivered flag(n) is “0.” If the flag is “0,”        then the process advances to step S63. If the flag is “1,” the        process terminates, since the flag indicates that the initial        parameter delivery process has already been done.    -   (S63) The churning parameter transmission controller 22 executes        an initial parameter delivery process for the ONU(n). More        specifically, the churning parameter transmission controller 22        supplies the ONU(n) with churned-VP parameters for 4096 virtual        paths. In response to each churned-VP message, the ONU(n)        returns an acknowledge message to inform the sender of the        correct reception. The initial parameter delivery process is        finished when all 4096 churned-VP messages are transmitted and        the subsequent acknowledge messages are received. When this is        finished, the churning parameter transmission controller 22 sets        the initial parameter delivered flag(n) to “1” accordingly.

As described above, the proposed OLT 20 has an initial parameterdelivered flag for each ONU, which is cleared when the ONU 30 is in thestandby state and set when a relevant initial parameter delivery processis finished. With this flag, the OLT 20 executes an initial parameterdelivery process only when the ONU 30 makes a transition from standby toO8. This means that the proposed OLT 20 will never waste the bandwidthby executing again the same process, being triggered by other kinds ofstate transitions.

The flag controller 21 further provides an “initial parameter sendingflag,” which is controlled and used as follows. The flag controller 21sets this flag during the execution of an initial parameter deliveryprocess for an ONU. When the initial parameter sending flag is set, thechurning parameter transmission controller 22 stops accepting requestsfor an initial parameter delivery process. Suppose, for instance, that aplurality of ONUs left the standby state and have entered the operatingstate O8 simultaneously. In this case, the churning parametertransmission controller 22 serves for the requesting ONU that made sucha transition first. The initial parameter sending flag is set at thistime, which makes other ONUs wait until the current process is finished.

FIG. 17 is a flowchart which shows the initial parameter deliveryprocess using the initial parameter sending flag.

-   -   (S70) The flag controller 21 ensures that the initial parameter        delivered flag(n) is “0.”    -   (S71) The flag controller 21 tests whether the initial parameter        sending flag is “0.” If the flag is “0,” the process advances to        step S72. If the flag is “1,” the process advances to step S74.    -   (S72) The flag controller 21 sets the initial parameter sending        flag to “1” because no other ONUs are being served.    -   (S73) The churning parameter transmission controller 22 performs        an initial parameter delivery process for the requesting ONU(n).    -   (S74) The churning parameter transmission controller 22 waits        until the initial parameter sending flag returns to “0” (i.e.,        until the ongoing initial parameter delivery process is        finished).

In the way described above, the proposed OLT 20 performs the initialparameter delivery process for a specific ONU only when the initialparameter sending flag is zero. This means that the next ONU cannot beserved until the ongoing process is finished. Therefore, even if aplurality of ONUs simultaneously request the OLT to execute the process,the OLT can serially handle those requests, serving one ONU at a time.That is, the OLT can sends initial churned-VP messages efficiently,without the need for complicated congestion control.

The flag controller 21 further provides a “parameter update failureflag” as follows. Suppose here that a certain ONU 30 is in the operatingstate after the completion of its initial parameter delivery process.During this normal operation, the optical line terminal 20 sendschurned-VP update messages to the ONU 30 or resends them for overwritingpurposes. The receiving ONU 30, however, may fail to update or overwritethe churned-VP information for some reason, and thus returns noacknowledgement to the OLT 20. In the terminology of G.983.1, this kindof failure is known as the loss of acknowledge (LOAi), which would bringthe ONU 30 back to the standby state. When the ONU 30 recovered from thefailure and has successfully re-entered to the operating state O8, theOLT 20 has to execute the initial parameter delivery process again. Tothis end, the flag controller 21 provides a parameter update failureflag to indicate that the ONU 30 has failed to update churned-VPinformation during its normal operation. If this flag is set, thechurning parameter transmission controller 22 understands that the ONU30 has encountered some problem in processing churned-VP updatemessages, and thus it invokes again an initial parameter deliveryprocess for this ONU 30.

FIG. 18 is a flowchart which shows an initial parameter delivery processusing the parameter update failure flag. Note here that the process ofupdating churned-VP information in an operating ONU is referred tohereafter as the “parameter updating process.”

-   -   (S80) The flag controller 21 detects an update failure when the        OLT 20 receives no acknowledge message from an ONU(n) within a        period of 300 ms after sending the last churned-VP update        message. Now it sets the relevant parameter update failure        flag(n) to “1” accordingly.    -   (S81) The churning parameter transmission controller 22 stops        sending messages to the failed ONU(n). The ONU(n) enters the        standby state.    -   (S82) When the ONU(n), whose parameter update failure flag is        set to “1,” reenters to state O8, the churning parameter        transmission controller 22 executes another initial parameter        delivery process for this ONU(n).

In the way described above, the proposed OLT 20 is designed tore-execute an initial parameter delivery process, as well as setting arelevant parameter update failure flag, in the case that the ONU 30 hasfailed to update its churned-VP information. This additional executionof an initial parameter delivery process permits the failed ONU 30 tokeep its stored churned-VP parameters consistent with those in the OLT20.

The flag controller 21 further provides a “parameter update unfinishedflag” for the following reason. Suppose again that a certain ONU 30 hasfinished its initial parameter delivery process and now it is in theoperating state. However, the ONU 30 could be forced out of theoperating state because of some reason other than the above-discussedupdate failure. In such cases, the ongoing churned-VP update operationis deemed to be unfinished. To address this problem, the flag controller21 provides a parameter update unfinished flag to indicate that the ONU30 has not finished to update some churned-VP parameters. When the ONU30 enters to state 08 again, the churning parameter transmissioncontroller 22 checks the parameter update unfinished flag, and if theflag is still set at that time, it will execute an initial parameterdelivery process.

FIG. 19 is a flowchart which shows an initial parameter delivery processusing the parameter update unfinished flag. This process proceedsaccording to the following steps.

-   -   (S90) When a specific ONU(n) has left the operating state 08,        the flag controller 21 sets its corresponding parameter update        unfinished flag(n) to    -   (S91) The churning parameter transmission controller 22 stops        sending further messages to the failed ONU(n). The ONU(n) now        enters to the standby state.    -   (S92) When the ONU(n), whose parameter update unfinished flag is        set to “1,” re-enters to state O8, the churning parameter        transmission controller 22 executes another initial parameter        delivery process for this ONU(n).

In the way described above, the proposed OLT 20 is designed tore-execute an initial parameter delivery process, as well as setting arelevant parameter update unfinished flag, in the case that the ONU 30left the operating state. This additional execution of an initialparameter delivery process permits the ONU 30 to keep its storedchurned-VP parameters consistent with those in the OLT 20, in the caseof a problem other than churned-VP update failures.

The flag controller 21 further provides a “churning key updating flag,”which works as follows. As stated in an earlier section, the ONUsdynamically change their churning keys at prescribed intervals, therebyensuring data confidentiality. However, if a parameter updating processor parameter overwriting process is performed during the period of thischurning key updating process, the churned-VP parameters could not becorrectly updated because of possible conflict between the twoprocesses. To avoid this conflict, the flag controller 21 provides achurning key updating flag which is set during the period when achurning key updating process is under way.

When the churning key updating flag is set, the optical line terminal 20cannot send any messages other than churning key update messages. If acertain ONU 30 requests the OLT 20 to update churned-VP informationduring this period, the OLT 20 holds the request until the churning keyis updated. This feature permits the ONU 30 to keep its storedchurned-VP parameters consistent with those in the OLT 20.

The flag controller 21 further provides a “parameter update requestflag” for each ONU. This flag will be set by an external maintenancestation, when the OLT 20 performs a parameter updating process for aspecific ONU that has already finished an initial parameter deliveryprocess. The OLT 20 then updates the requesting ONU's churned-VPparameters. Upon completion of the update, the parameter update requestflag is cleared. In this way, the OLT 20 can modify the churned-VPparameters that have once been established through the past initialparameter delivery process, when the ONU of interest is in the operatingstate 08.

Note that the parameter update request flag is provided for eachindividual ONU, and that each ONU is allowed to update only one VPIentry at a time. In the case of VPI for broadcast traffic, all ONUsreceive the same update. The above restriction of “one VPI entry perONU” ensures that each parameter updating process can be finished withinthe interval of churning key updates, thus rendering the updating timedeterministic.

The flag controller 21 further provides a “parameter updating flag” foreach ONU. Parameter updating processes deserve higher priority thanother processes, because of their time-critical nature. For this reason,the flag controller 21 provides a parameter updating flag which is setwhen a parameter updating process is being executed. Other requests fromthe ONU have to be suspended when the parameter updating flag is set,thereby preventing unwanted interruptions, as well as giving a higherpriority to the ongoing parameter updating process.

Referring now to FIGS. 20 to 23, the details of the parameter updatingprocess will be explained below. FIGS. 20 and 21 show a flowchart of aprocess executed at the beginning of each parameter updating process.

-   -   (S100) The churning parameter transmission controller 22 tests        whether any parameter update request flag is set (note that the        ONUs 30 a to 30 n have their own flags). If the flag is “1”,        then the process advances to step S101. If the flag is “O,” the        process Is terminated.    -   (S101) The churning parameter transmission controller 22 then        tests a “send flag.” This send flag is a flag that the flag        controller 21 provides to indicate that the OLT 20 is sending a        churned-VP message. If the send flag is “1,” the process repeats        step S101 until the flag is cleared to “0.” If the send flag is        “0,” the process advances to step S102.

(1102) The flag controller 21 sets again the send flag to “1,” therebyinhibiting the acceptance of other requests.

Unlike the above steps, the following steps S103 and so on can beexecuted in parallel to serve a plurality of ONUs at a time. Suppose,for example, that three ONUs 30 a, 30 b, and 30 c need to update theirchurned-VP parameters. Then three processes will run concurrently tohandle those requests. The following explanation focuses the parameterupdating process for the ONU 30 a.

-   -   (S103) The flag controller 21 clears the parameter update        request flag to “0.”    -   (S104) The flag controller 21 sets the parameter updating flag        to “1.”    -   (S105) The churning parameter transmission controller 22        composes a churned-VP message by inserting a relevant value to        its VPI field. It also presets a counter k (e.g., k=3) for        repetitive transmission of this churned-VP message.    -   (S106) The churning parameter transmission controller 22 tests        the churning key updating flag. If the flag is “1,” the process        repeats step S106 until the flag is cleared to “0.” If the send        flag is “0,” the process advances to step S107.    -   (S107) It is examined whether the ONU 30 a is still in the        operating state 08 or not. That is, if the parameter update        unfinished flag is “1,” the process branches to step S110. If        the flag is “0,” the process advances to step S108.    -   (S108) The churning parameter transmission controller 22 sends        out a churned-VP message. It then decrements the transmission        counter k by one, so as to manage the number of churned-VP        messages to be transmitted.    -   (S109) If the transmission counter k has reached zero, the        process is terminated. If not, the process returns to step S106.    -   (S110) The churning parameter transmission controller 22        executes an initial parameter delivery process.

FIG. 22 is a flowchart which shows a process of receiving an acknowledgemessage. The ONU 30 a sends back an acknowledge message in response toeach churned-VP message that is correctly received from the OLT 20. TheOLT 20 handles this acknowledge message according to the followingsteps.

-   -   (S120) The OLT 20 checks the message flow by measuring the time        between the last churned-VP message and its subsequent        acknowledge message. More specifically, the OLT 20 waits for an        acknowledge message after sending the churned-VP message three        times. If no acknowledge is received within a prescribed period        (300 ms) after sending the last churned-VP message, the OLT 20        detects a timeout error. If this is the case, the process        branches to step S123. Otherwise, the process advances to step        S121.    -   (S121) The churning key updating flag is tested. If the flag is        “1,” the process repeats step S121 until it is cleared to “0.”        If the flag is “0,” the process advances to step S122.    -   (S122) The flag controller 21 clears the parameter updating flag        to “0.”    -   (S123) The flag controller 21 sets the parameter update failure        flag to “1.”    -   (S124) The churning parameter transmission controller 22        executes an initial parameter delivery process.

FIG. 23 is a flowchart which shows a process executed at the end of theparameter updating process. This process comprises the following steps.

-   -   (S130) If all the parameter updating flags exhibit zeros, this        indicates that the process is finished for all the ONUs        concerned. If this is the case, the process advances to step        S131. Otherwise, the process repeats step S130 until all the        non-zero flags are cleared.    -   (S131) The flag controller 21 clears the send flag to “0,” thus        enabling other requests.

The next section will describe the function of the churning parameteroverwriting unit 23.

After a set of churning parameters are delivered to the ONU 30 throughan initial parameter delivery process, the OLT 20 would not sendchurned-VP messages to the ONU 30 any more, as long as there is nochange in the churned-VP parameters. Conventional ONUs and OLTs,however, can neither detect nor correct inconsistency in theirchurned-VP parameters, once it was introduced for some reason. Toaddress this problem, according to the present invention, the OLT 20employs a churning parameter overwriting unit 23 which supplies theoperating ONUs 30 with churned-VP parameters, being triggered by thecompletion of initial parameter delivery processes. With the suppliedinformation, the ONUs 30 overwrite their local churned-VP parameters,thus refreshing their information bases during normal operation. Suchprocesses are termed “parameter overwriting processes,” which wouldpermit the ONUs 30 and OLT 20 to correct inconsistency in theirchurned-VP parameters, even if it happened to be introduced for somereason.

The parameter overwriting process can be executed as a lower-prioritytask, because it is a kind of safety mechanism to maintain theconsistency of churned-VP parameters between the OLT 20 and ONUs 30.Accordingly, the churning parameter transmission controller 22 maysuspend the transmission requests from the parameter overwritingprocess, while giving higher priority to other messaging activitiesincluding normal parameter updating processes. The parameter overwritingprocess can run without disturbing other messaging activities.

The churning parameter overwriting unit 23 has an integral timer for usein the parameter overwriting processes. Being activated after eachchurned-VP message for overwriting purposes, this timer provides aminimum interval of overwriting operations. To avoid conflict with othermessages, the churning parameter overwriting unit 23 does not producethe next churned-VP message until the timer is expired. The timerinterval can be defined flexibly through a maintenance station.

The transmission of churned-VP messages should be properly controllednot to conflict with churning key update messages. This issue will bediscussed as follows.

According to the ITU-T Recommendation G.983.1, various control messagesto the ONUs 30 are conveyed by downstream PLOAM cells which aretransmitted at regular intervals. It is therefore necessary for the OLTto determine which message to send to the ONUs 30 in the next PLOAMcell, by arbitrating between a plurality of message transmissionrequests, if any.

As previously explained in FIG. 3, churning key update messages aretransmitted at intervals of 16*Tframe. Transmission of churned-VPmessages, on the other hand, should be completed three times during aperiod when the churning key updating flag is not set. To meet thoseconstraints, the churning parameter transmission controller 22 wouldgive priority to a churning key update message, if it conflicted with achurned-VP message. In this case, the OLT 20 first sends the churningkey update message three times, automatically at intervals of 16*Tframe,and it then transmits the churned-VP message three times, automaticallyat intervals of 16*Tframe. It should be noted that the arbitration takesplace only at the first instance of those messages. Once the firstchurning key update message is transmitted, the second and thirdinstances can be sent without conflicting with each other.

Referring lastly to FIG. 24, the operation of the churning parameterupdating unit 24 will be described below. While defining the activationtiming of churning key updates, the ITU-T Recommendation G.983.1 lacksthe definition of when to activate churned-VP updates. Withoutappropriate coordination, updating churned-VP parameters would introduceinconsistencies in churned-VP parameters between the OLT 20 and ONUs 30.

According to the present invention, the churning parameter updating unit24 prevents any inconsistent updates by activating the new parameter atthe churning key updating time point. FIG. 24 is a timing diagram whichexplains how the churned-VP parameters are updated. First, the OLT 20sends a churned-VP message three times. Then the OLT 20 and thereceiving ONU 30 activate this new churned-VP information at the firstchurning key updating time point after the last churned-VP message issent. In this way, the churned-VP parameters are updated simultaneouslyat the both ends, without fear of producing inconsistencies.

The above discussion will now be summarized as follows. According to thepresent invention, the optical network unit comprises a first memorybank serving as active storage that stores currently used churningparameters and a second memory bank serving as backup storage thatstores newly updated churning parameters. The first and second memorybanks exchange their roles at a predefined time point, and the churningparameters read out of the active storage are used in the next frame todechurn the information that is extracted from the incoming data stream.This structural arrangement improves the quality of communicationcontrol, because it ensures that the dechurning operations at thereceiving end is synchronized with the churning operations at thesending end in terms of the usage of updated churning parameters.

Further, according to the present invention, the optical line terminalprovides various flags to control the transmission of data streams tothe receiving network units. Particularly, it provides control flags foruse in the transmission of churning parameters. This feature of theinvention improves the quality of communication control, ensuring thatthe dechurning operations in the receiving end is synchronized with thechurning operations in the sending end in terms of the usage of updatedchurning parameters.

The foregoing is considered as illustrative only of the principles ofthe present invention. Further, since numerous modifications and changeswill readily occur to those skilled in the art, it is not desired tolimit the invention to the exact construction and applications shown anddescribed, and accordingly, all suitable modifications and equivalentsmay be regarded as falling within the scope of the invention in theappended claims and their equivalents.

1. An optical network unit coupled to an optical access network system,which receives a data stream and dechurns information contained in thereceived data stream by using a churning key, comprising: (a) churningparameter memory means for storing churning parameters that indicatewhich logical connections are churned or not churned, comprising: (a1)first memory means, initially assigned an active role, for storing thechurning parameters that are currently used, and (a2) second memorymeans, initially assigned a backup role, for storing newly updatedchurning parameters, wherein said first memory means and second memorymeans are controlled so that the active and backup roles will alternatewith each other at every churning key updating time point at which anupdated churning key becomes effective; and (b) data dechurning meansfor receiving a data stream consisting of a plurality of frames anddechurning churned information contained in the data stream according tothe churning parameters stored in said first or second memory meanscurrently playing the active role, the churning parameters beingactivated at the beginning of a frame subsequent to the churning keyupdating time point said first memory means is assigned the backup role,and said second memory means is assigned the active role as a result ofsaid alternating of the active and backup roles at the churning keyupdating time point; and said churning parameter memory means performs acopying process to copy the stored churning parameters from said secondmemory means to said first memory means, and wherein said churningparameter memory means saves a new churning parameter into said firstmemory means after the copying process is finished, when the newchurning parameter is received during the copying process.
 2. Theoptical network unit according to claim 1, wherein said churningparameter memory means comprises said first and second memory means eachhaving two ports for reading out data therefrom.
 3. The optical networkunit according to claim 1, wherein said churning parameter memory means,after receiving each newly updated churning parameter, verifies whetherthe received churning parameter has correctly been written to said firstor second memory means, and returns an acknowledge message only when thereceived churning parameter is successfully verified.
 4. The opticalnetwork unit according to claim 1, further comprising: a non-volatilememory; and external memory control means for storing the churningparameters into said non-volatile memory.
 5. The optical network unitaccording to claim 4, wherein said external memory control meanscompares each received churning parameter with the correspondingchurning parameter read out of said second memory means currentlyplaying the backup role, so as to write only changed churning parametersto said non-volatile memory.
 6. The optical network unit according toclaim 4, wherein: said external memory control means comprises a localmemory to store the churning parameters temporarily, and uponpower-down, said external memory control means transfers at a time thechurning parameters from said local memory to said non-volatile memory.7. The optical network unit according to claim 4, wherein: said externalmemory control means comprises a local memory to store the churningparameters temporarily; and upon power-down, said external memorycontrol means transfers only changed churning parameters from said localmemory to said non-volatile memory.
 8. The optical network unitaccording to claim 4, wherein said churning parameter memory meansreceives the churning parameters from said non-volatile memory only whenthe optical network unit is in a standby state after power-up.
 9. Theoptical network unit according to claim 4, wherein said churningparameter memory means activates either of the churning parametersreceived from said non-volatile memory and a set of newly suppliedchurning parameters after power-up.
 10. The optical network unitaccording to claim 1, further comprising dechurning mask means fordisabling the dechurning function of said data dechurning means during aperiod from a restarting time point to the churning key updating timepoint, said restarting time point being a time point when the opticalnetwork unit reenters an operating state from another state after havingleft the operating state.